Регистратору UniLearn нужен отчёт об успеваемости по курсу за вымышленный семестр 2026 года. Обобщите активные зачисления, включая студентов, чьи оценки ещё не выставлены.
Подготовьте данные PostgreSQL
- Откройте свою учебную базу данных в pgAdmin Query Tool. Включите Auto-commit .
- Выберите Open File и укажите отдельно предоставленный файл
lab5_setup.sql. - Выполните весь файл. Он выбирает схему
lab5. В том же Query Tool скопируйте проверочный запрос из раздела Код и убедитесь, что получено 36 строк.
Что означает одна строка?
Одна строка — это зачисление одного студента на один курс. S101 изучает три курса, поэтому S101 встречается три раза. Количество зачислений и количество студентов могут различаться.
Составьте отчёт регистратора
- Подсчитайте зачисления, выставленные оценки и уникальных студентов.
- Рассчитайте суммы и средние значения по каждому курсу.
- Оставьте только курсы, удовлетворяющие заданным условиям сводки.
💡 Прочитайте перед обобщением
NULL означает отсутствие выставленной оценки; 0 — это выставленная оценка. Отменённые зачисления остаются в таблице, но исключаются из отчёта.Предпросмотр: первые 12 из 36 зачислений
Полная таблица enrolments содержит 20 уникальных студентов по шести курсам. Шесть отменённых строк будут исключены из отчёта. Выполните проверочный запрос, чтобы увидеть все 36 строк.
| Зачисление | Студент | Программа | Курс | Статус | Оценка | Часы |
|---|---|---|---|---|---|---|
| E01 | S101 | DSAI | SQL101 | active | 80 | 6 |
| E02 | S102 | CS | SQL101 | active | 60 | 4 |
| E03 | S103 | DSAI | SQL101 | active | NULL | 5 |
| E04 | S104 | IT | SQL101 | withdrawn | 90 | 2 |
| E05 | S101 | DSAI | PY101 | active | 90 | 8 |
| E06 | S105 | CS | PY101 | active | 50 | 6 |
| E07 | S106 | DSAI | PY101 | active | 70 | 7 |
| E08 | S107 | IT | PY101 | active | NULL | 3 |
| E09 | S102 | CS | VIS101 | active | 40 | 4 |
| E10 | S108 | DSAI | VIS101 | active | NULL | 2 |
| E11 | S109 | IT | VIS101 | withdrawn | 100 | 1 |
| E12 | S110 | IT | VIS101 | active | 0 | 1 |
Прочитайте столбцы
enrolment_idидентифицирует одно зачисление;student_idможет повторяться.score— это оценка по 100-балльной шкале, или NULL, если она не выставлена.study_hoursфиксирует количество часов для этого зачисления.
💡 Синтаксис PostgreSQL
Текстовые значения заключаются в одинарные кавычки. Числа и SQL
NULL — нет. Завершайте каждый оператор точкой с запятой.SET search_path TO lab5;
SELECT *
FROM enrolments
ORDER BY enrolment_id;Новый Query Tool или повторное подключение?
Скрипт настройки выбирает схему для текущего подключения. Выполните следующую команду один раз в новом подключении, после чего используйте запросы урока как обычно.
SET search_path TO lab5;